﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Principal;

namespace Kaiser.Infrastructure.User
{
    public interface IUser : IPrincipal
    {
        bool IsAuthenticated { get; }
        IDictionary<string, object> AuthenticationValues { get; }
        string Name { get; }
        string DisplayName { get; }
        //T Cast<T>() where T : class, IUser;
        bool IsInUserGroup(string userGroupName);
        bool HasPermission(Guid permissionID);
        bool HasPermission(string permissionName); 
    }
}
